<?php

    class ModificarEstadoController
    {
        var $idPartido;
        var $descripcion;
        var $errs;
        var $siguienteEstado;
        var $estadoActual;

        function ModificarEstadoController()
        {
            // Solo admins
            Session::onlyAdmins();
            
            $this->errs = array();

            $this->parseGets();
            if (!$this->validate()) return;

            // Get viene correcto..
            $partido = PartidosDAO::getById(Form::get('idPartido'));
            $descripcion = $partido->getDescripcion();

            if ($partido == null)
            {
                $this->errs[] = "El partido no existe.";
                return;
            }

            if ($partido->estado == 5)
            {
                $this->errs[] = "El partido ya finalizo.";
                return;
            }

            switch ($partido->getSiguienteEstado())
            {
                case 2: $this->siguienteEstado = "Primer tiempo"; break;
                case 3: $this->siguienteEstado = "Entre tiempo"; break;
                case 4: $this->siguienteEstado = "Segundo tiempo"; break;
                case 5: $this->siguienteEstado = "Finalizado"; break;
                case 6: $this->siguienteEstado = "Penales"; break;
            }

            $this->estadoActual = $partido->getEstado();

            if ($_SERVER["REQUEST_METHOD"] == "POST")
            {

                // Updatear
                $partido->estado = $partido->getSiguienteEstado();

                if (PartidosLogic::update($partido))
                    header("Location: index.php?action=detallepartido&idPartido=".$this->idPartido);
                else
                {
                    $this->errs[] = "No se pudo cambiar el estado";
                    return;
                }
                    
            }
        }

        function parseGets()
        {
            $this->idPartido = Form::get('idPartido');
        }

        function validate()
        {
            if ($this->idPartido == '')
                    $this->errs[] = "No puede ser vacio el idPartido";

            if (!is_numeric($this->idPartido))
                    $this->errs[] = "El idPartido debe ser numerico";

            return (sizeof($this->errs) == 0);
        }
    }

?>